package org.stone.project.common.utils;

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.extra.spring.SpringUtil;
import org.stone.project.common.pojo.exception.ServiceException;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 系统枚举属性获取
 */
public class SysEnumUtil {
    /**
     * 获取枚举map
     * @return
     */
    public static Map<String,List<Map<String,Object>>> getEnumMap(){
        Map<String,List<Map<String,Object>>> enumMap = SpringUtil.getBean("enumMap");
        if (ObjectUtil.isNotNull(enumMap)){
            return enumMap;
        }
        throw new ServiceException("系统未开启枚举扫描");
    }


    /**
     * 获取注册的系统注册的枚举名称
     * @return
     */
    public static Set<String> getSysEnumKey(){
        return getEnumMap().keySet();
    }

    /**
     * 获取枚举列表值
     * @param value
     * @return
     */
    public static List<Map<String,Object>> getEnumMap(String value){
        return getEnumMap().get(value);
    }
}
